// 从 @vue/cli-service 中导入 defineConfig 函数，这是一个辅助函数，用于定义配置，可以提供更好的类型提示。
const { defineConfig } = require("@vue/cli-service");

// 导出 Vue CLI 的配置对象。
module.exports = defineConfig({
    // transpileDependencies: 一个用于指定需要被 Babel 转译的第三方依赖的数组。
    // 默认情况下，babel-loader 会忽略 node_modules 中的所有文件。
    // 如果某个依赖包使用了现代的 JavaScript 语法，而你又需要支持旧版浏览器，
    // 就需要将这个依赖包的名称（字符串）添加到这个数组中，强制对其进行语法转换。
    // 设置为 `true` 会转译所有的依赖，但这会降低构建速度，通常只在需要时指定特定的包。
    transpileDependencies: true,

    // 以下是一些其他常用的配置项示例（当前项目中未启用）：

    // devServer: 配置开发服务器。
    /*
  devServer: {
    // 设置开发服务器的主机名。
    host: 'localhost',
    // 设置开发服务器的端口号。
    port: 8080,
    // 配置代理，用于解决开发环境下的跨域请求问题。
    proxy: {
      '/api': { // 当请求路径以 /api 开头时，触发代理。
        target: 'http://example.com', // 目标服务器地址。
        changeOrigin: true, // 是否改变请求源头。
        pathRewrite: { '^/api': '' } // 重写请求路径，例如将 /api/users 转换为 /users。
      }
    }
  },
  */

    // configureWebpack: 用于更精细地修改 Webpack 配置。
    // 可以是一个对象，与 Webpack 的配置合并；也可以是一个函数，接收现有配置并返回修改后的配置。
    /*
  configureWebpack: {
    resolve: {
      alias: {
        // 配置额外的路径别名。
        'styles': '@/assets/styles'
      }
    }
  }
  */
});
